<!DOCTYPE HTML>
<html lang="zh">

<head>
<title>AutoHotkey 脚本展示 | AutoHotkey</title>
<meta name="description" content="This showcase lists some scripts created by different authors which show what AutoHotkey might be capable of." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
</head>

<body>

<h1>AutoHotkey 脚本展示</h1>
<p>本展示列出了一些由不同作者创建的脚本, 展示了 AutoHotkey 的能力. 更多可运行的脚本和函数, 请参阅 <a href="https://www.autohotkey.com/boards/viewforum.php?f=6">Scripts and Functions Forum</a>.</p>

<h2 id="toc">目录</h2>
<ul>
  <li><a href="#NiftyWindows">NiftyWindows</a></li>
  <li><a href="#Screen_Magnifier">Screen Magnifier</a></li>
  <li><a href="#LiveWindows">LiveWindows</a></li>
  <li><a href="#MouseGestures">Mouse Gestures</a></li>
  <li><a href="#ContextSensitiveHelp">Context Sensitive Help in Any Editor</a></li>
  <li><a href="#EasyWindowDrag">Easy Window Dragging</a></li>
  <li><a href="#EasyWindowDrag_(KDE)">Easy Window Dragging (KDE style)</a></li>
  <li><a href="#FavoriteFolders">Easy Access to Favorite Folders</a></li>
  <li><a href="#IntelliSense">IntelliSense</a></li>
  <li><a href="#JoystickMouse">Using a Joystick as a Mouse</a></li>
  <li><a href="#JoystickTest">Joystick Test Script</a></li>
  <li><a href="#KeyboardOnScreen">On-Screen ANSI Keyboard (OSAK)</a></li>
  <li><a href="#MinimizeToTrayMenu">Minimize Window to Tray Menu</a></li>
  <li><a href="#MsgBoxButtonNames">Changing MsgBox's Button Names</a></li>
  <li><a href="#Numpad000">Numpad 000 Key</a></li>
  <li><a href="#NumpadMouse">Using Keyboard Numpad as a Mouse</a></li>
  <li><a href="#Seek_(SearchTheStartMenu)">Seek (Search the Start Menu)</a></li>
  <li><a href="#TooltipMouseMenu">ToolTip Mouse Menu</a></li>
  <li><a href="#VolumeOSD">Volume On-Screen-Display (OSD)</a></li>
  <li><a href="#WindowShading">Window Shading</a></li>
  <li><a href="#WinLIRC">WinLIRC Client</a></li>
  <li><a href="#HTML_Entities_Encoding">HTML Entities Encoding</a></li>
  <li><a href="#1_Hour_Software">1 Hour Software</a></li>
  <li><a href="#Toralf_s_Scripts">Toralf's Scripts</a></li>
  <li><a href="#Sean_s_Scripts">Sean's Scripts</a></li>
  <li><a href="#Scripts_and_Functions_Forum">Archived Scripts and Functions Forum</a></li>
</ul>

<h2 id="NiftyWindows">NiftyWindows(美妙窗口)</h2>
<p>作者: Enovatic-Solutions</p>
<p>NiftyWindows 让您轻松地控制所有基本的窗口操作, 例如拖动, 调整大小, 最大化, 最小化和关闭. 它最强大的功能是通过拖动鼠标右键来激发. 想象将每个窗口分成一个虚拟的三行三列的 9 个单元组成的网格. 中心的单元是其中最大的: 通过点击并按住鼠标右键您可以抓取窗口并到处移动. 通过同样的方法使用其他八个单元来调整窗口的大小. NiftyWindows 还提供了对齐到网格, "保持窗口高宽比", 卷起窗口到它的标题栏, 透明度控制以及其他有用的快捷功能.</p>
<p><a href="http://www.enovatic.org/products/niftywindows/introduction/">Download, introduction and more</a></p>

<h2 id="Screen_Magnifier">Screen Magnifier(屏幕放大镜)</h2>
<p>作者: Holomind</p>
<p>这款屏幕放大镜比操作系统自带的屏幕放大镜有几大优势, 包括: 可自定义的刷新间隔和缩放级别(包括缩小/反放大); 抗锯齿从而提供更高质的输出; 并且它是开源的(因此, 有很多变体可供选择, 或者您可以自己对脚本进行调整).</p>
<p><a href="https://www.autohotkey.com/forum/topic11700.html">存档论坛帖子</a></p>

<h2 id="LiveWindows">LiveWindows(实况窗口)</h2>
<p>作者: Holomind</p>
<p>LiveWindows 通过显示每个对话框和它的进度条的小型副本(会自动检测对话框, 即使它们在其他窗口后面) 来让您监视下载进度, 文件复制以及其他对话框. 预览窗口置顶显示, 不过只使用了非常小的屏幕空间(还可以拖动它的边缘来调整大小). 您也能监视任意窗口, 只需在感兴趣的区域拖拉出一个矩形选框(拖拉时需按住 control+shift), 然后按下 <kbd>Win</kbd>+<kbd>W</kbd> 来在预览窗口中实时显示选区.</p>
<p><a href="https://www.autohotkey.com/forum/topic11588.html">存档论坛帖子</a></p>

<h2 id="MouseGestures">Mouse Gestures(鼠标手势)</h2>
<p>作者: deguix</p>
<p>此脚本在您按住鼠标右键时会监视鼠标移动的轨迹. 如果它看到您 "画" 出一个能识别的形状或符号, 那么它会启动程序或执行由您选择的自定义动作(就像热键那样). 请参阅内含的 README 文件了解如何定义手势.</p>
<p><a href="MouseGestures.zip">下载(17 KB ZIP 文件)</a></p>

<h2 id="ContextSensitiveHelp">Context Sensitive Help in Any Editor(任意编辑器中的上下文相关帮助)</h2>
<p>作者: Rajat</p>
<p>此脚本设置 <kbd>Ctrl</kbd>+<kbd>2</kbd>(或您选择的其他热键) 来显示选择的 AutoHotkey 命令或关键字的帮助文件页面. 如果没有选择任何内容, 那么会提取当前行开始处的命令名.</p>
<p class="show_code"><a href="ContextSensitiveHelp.ahk">显示代码</a></p>

<h2 id="EasyWindowDrag">Easy Window Dragging(轻松拖曳窗口)</h2>
<p>需要: Windows XP/2k/NT 或更高</p>
<p>一般情况下, 只能通过点击标题栏来拖动窗口. 这个脚本扩展到可以在窗口中任何一点拖动窗口. 要激活这种模式, 请在点击时按住 <kbd>CapsLock</kbd> 或鼠标中键, 然后拖动窗口到新的位置.</p>
<p class="show_code"><a href="EasyWindowDrag.ahk">显示代码</a></p>

<h2 id="EasyWindowDrag_(KDE)">Easy Window Dragging(轻松拖曳窗口 KDE 风格)</h2>
<p>作者: Jonny</p>
<p>需要: Windows XP/2k/NT 或更高</p>
<p>使用此脚本可以轻松移动窗口或改变它的大小: 1) 按住 <kbd>Alt</kbd> 并在窗口内的任意位置点击左键来拖动窗口到新的位置; 2) 按住 <kbd>Alt</kbd> 并在窗口内任意位置点击右键后拖动来轻松调整它的大小; 3) 按下 <kbd>Alt</kbd> 两次, 但在第二次松开前, 点击左键来最小化鼠标光标下的窗口, 点击右键进行最大化或点击中键进行关闭.</p>
<p class="show_code"><a href="EasyWindowDrag_(KDE).ahk">显示代码</a></p>

<h2 id="FavoriteFolders">Easy Access to Favorite Folders(轻松访问收藏夹)</h2>
<p>作者: Savage</p>
<p>当您在某些类型的窗口活动时点击鼠标中键, 脚本会显示您的收藏夹菜单. 选择收藏夹中的文件夹后, 脚本会让活动窗口立即切换到那个文件夹. 支持下列窗口类型: 1) 标准的文件打开或文件保存对话框; 2) 资源管理器窗口; 3) 控制台(命令提示符) 窗口. 对于不支持的窗口类型也可以显示此菜单, 此时选择的收藏夹中的文件夹会在新的资源管理器窗口中打开.</p>
<p class="show_code"><a href="FavoriteFolders.ahk">显示代码</a></p>

<h2 id="IntelliSense">IntelliSense(智能感应)</h2>
<p>作者: Rajat</p>
<p>需要: Windows XP/2k/NT 或更高</p>
<p>此脚本会在您编辑 AutoHotkey 脚本时进行监视. 当它看到您输入命令后跟着逗号或空格后, 会显示此命令的参数列表以给您提示. 此外, 您可以按下 <kbd>Ctrl</kbd>+<kbd>F1</kbd>(或您选择的其他热键) 来显示帮助文件中此命令的页面. 要取消参数列表, 请按 <kbd>Esc</kbd> 或 <kbd>Enter</kbd>.</p>
<p class="show_code"><a href="IntelliSense.ahk">显示代码</a></p>

<h2 id="JoystickMouse">Using a Joystick as a Mouse(把操纵杆当作鼠标)</h2>
<p>此脚本把操纵杆转换为三键的鼠标. 它允许每个按钮像鼠标按钮那样拖动, 且它几乎不消耗 CPU 时间. 还有, 您将操纵杆推离中央越远, 它会让光标移动的越快. 您可以在脚本的顶部个性化各种设置.</p>
<p class="show_code"><a href="JoystickMouse.ahk">显示代码</a></p>

<h2 id="JoystickTest">Joystick Test Script(操纵杆测试脚本)</h2>
<p>此脚本帮助您判断操纵杆的按钮数目和其他属性. 它还可能显示您的操纵杆是否需要校准; 即它的每个轴向的活动范围是否在百分之零到百分之百的范围内, 这是它应该处于的范围. 如果需要校准, 请使用操作系统控制面板或操纵杆的自带软件.</p>
<p class="show_code"><a href="JoystickTest.ahk">显示代码</a></p>

<h2 id="KeyboardOnScreen">On-Screen ANSI Keyboard (OSAK)(屏幕键盘)</h2>
<p>作者: Jon, Lehnemann, anonymous1184, KeronCyst</p>
<p>需要: AutoHotkey v1.1 或更高</p>
<p>此脚本会在屏幕的底部创建一个模拟键盘来实时显示您按下的按键. 我写这个是为了帮我学习盲打(来适应不去看键盘). 在脚本的顶部可以自定义屏幕键盘的大小. 还有, 您可以双击托盘图标来显示或隐藏键盘.</p>
<p class="show_code"><a href="KeyboardOnScreen.ahk">显示代码</a></p>

<h2 id="MinimizeToTrayMenu">Minimize Window to Tray Menu(最小化窗口到托盘菜单)</h2>
<p>此脚本会设置您选择的热键来隐藏任意的窗口, 让这些窗口成为脚本托盘菜单底部的条目. 通过在菜单上选择相应的项目可以显示个别隐藏的窗口或全部显示. 如果由于任何原因脚本退出了, 那么它隐藏的所有窗口都会自动显示.</p>
<p class="show_code"><a href="MinimizeToTrayMenu.ahk">显示代码</a></p>

<h2 id="MsgBoxButtonNames">Changing MsgBox's Button Names(改变 MsgBox 的按钮名称)</h2>
<p>这是个可运行示例脚本, 它使用计时器来改变消息框中按钮的名称. 尽管改变了按钮名称, 但 IfMsgBox 命令中仍需要引用它们原始的按钮名称表示的按钮. </p>
<p class="show_code"><a href="MsgBoxButtonNames.ahk">显示代码</a></p>

<h2 id="Numpad000">Numpad 000 Key</h2>
<p>此示例脚本把某些小键盘上特殊的 <kbd>000</kbd> 设置为等号键. 您可以用您想要的语句替换 <code>Send, =</code> 来改变动作.</p>
<p class="show_code"><a href="Numpad000.ahk">显示代码</a></p>

<h2 id="NumpadMouse">Using Keyboard Numpad as a Mouse(把小键盘作为鼠标使用)</h2>
<p>作者: deguix</p>
<p>此脚本用您的键盘来实现鼠标操作, 几乎相当于真正的鼠标(在一些任务中甚至更方便). 它支持多达五个鼠标按钮和鼠标滚轮的转动. 它还具有能自定义移动速度, 加速和 "轴反转" 的特点.</p>
<p class="show_code"><a href="NumpadMouse.ahk">显示代码</a></p>

<h2 id="Seek_(SearchTheStartMenu)">Seek(搜索开始菜单)</h2>
<p>作者: Phi</p>
<p>浏览开始菜单可能是件麻烦事, 尤其在您安装了很多程序的时候. 'Seek' 能让您指定不区分大小写的关键词/短语, 用它从开始菜单里筛选出匹配的程序和目录, 以便您可以轻松地从少数匹配的项目中打开目标程序. 这样就不用在开始菜单中做查找和穿越的苦力活了.</p>
<p class="show_code"><a href="Seek_(SearchTheStartMenu).ahk">显示代码</a></p>

<h2 id="TooltipMouseMenu">ToolTip Mouse Menu(鼠标菜单型的工具提示)</h2>
<p>作者: Rajat</p>
<p>需要: Windows XP/2k/NT 或更高</p>
<p>此脚本显示弹出菜单来响应短暂地按住鼠标中键的动作. 左键点击来选择菜单项. 在菜单外点击来取消菜单. 最近的改进是可以根据活动的窗口类型来改变菜单的内容(这里使用了记事本和 Word 作为例子). </p>
<p class="show_code"><a href="TooltipMouseMenu.ahk">显示代码</a></p>

<h2 id="VolumeOSD">Volume On-Screen-Display(OSD 音量)</h2>
<p>作者: Rajat</p>
<p>此脚本把您选择的热键设置为增加和降低总音量和/或波形音量. 这两种音量以不同的颜色条图形显示. </p>
<p class="show_code"><a href="VolumeOSD.ahk">显示代码</a></p>

<h2 id="WindowShading">Window Shading(窗口遮帘)</h2>
<p>作者: Rajat</p>
<p>此脚本通过单个热键实现裁减窗口到它的标题栏, 再次使用热键后恢复为原始大小. 这种方式可以裁减任意数目的窗口(脚本会记住每个窗口原来的大小). 如果脚本由于任何原因退出了, 那么所有 "卷起" 的窗口会自动恢复为它们原来的高度. </p>
<p class="show_code"><a href="WindowShading.ahk">显示代码</a></p>

<h2 id="WinLIRC">WinLIRC Client(WinLIRC 客户端)</h2>
<p>每当您在遥控器上按下按钮时此脚本会接收到来自 <a href="http://winlirc.sourceforge.net">WinLIRC</a> 的通知. 它可以用来自动操作 Winamp, Windows Media Player, 等等. 它配置起来很简单. 例如, 如果 WinLIRC 能识别您遥控器上名称为 "VolUp" 的按钮, 那么创建名为 VolUp 的标签并在它后面使用命令 <code>SoundSet +5</code> 来增加声卡 5% 的音量.</p>
<p class="show_code"><a href="WinLIRC.ahk">显示代码</a></p>

<h2 id="HTML_Entities_Encoding">HTML Entities Encoding(HTML 字符编码)</h2>
<p>类似于 <a href="../commands/Transform.htm#HTML">Transform HTML</a>, 该函数通过将 ASCII 值高于 127 的字符转换成其 HTML 名称, 来将字符串转换为 HTML 等价物(例如 <code>&pound;</code> 变成 <code>&amp;pound;</code>). 此外, 这四个字符 <code>"&amp;&lt;&gt;</code> 被转换为 <code>&amp;quot;&amp;amp;&amp;lt;&amp;gt;</code>. 最后, 每个换行符(<code>`n</code>) 被转换为 <code>&lt;br&gt;`n</code>(即 <code>&lt;br&gt;</code> 后面跟着一个换行符).</p>
<p class="show_code"><a href="EncodeHTML.ahk">显示代码</a></p>

<h2 id="1_Hour_Software">1 Hour Software</h2>
<p>作者: skrommel</p>
<p>这是大量有用的脚本集合, 带有简短的说明和截图地专业呈现出来.</p>
<p><a href="https://www.dcmembers.com/skrommel/">Downloads and more</a></p>

<h2 id="Toralf_s_Scripts">Toralf 的脚本</h2>
<p>这个集合包含了许多有用的脚本, 例如:</p>
<ul>
  <li>AHK Window Info: 显示窗口, 控件等的信息.</li>
  <li>电子节目指南: 浏览您当地的电视节目/时间表(支持多个国家).</li>
  <li>自动语法整理器: 改变脚本中命令的缩进和大小写形式以使它使用一致的格式/风格.</li>
</ul>
<p><a href="https://www.autohotkey.com/forum/topic12338.html">存档论坛帖子</a></p>

<h2 id="Sean_s_Scripts">Sean 的脚本</h2>
<p>网络下载/上传流量计: 在小且置顶的进度条中显示网络下载/上传的流量(单位为 KB). 请参阅<a href="https://www.autohotkey.com/forum/topic18033.html">存档论坛帖子</a>.</p>
<p>StdoutToVar: 重定向命令或应用程序的输入到脚本的变量中. 请参阅<a href="https://www.autohotkey.com/forum/topic16823.html">存档论坛帖子</a>.</p>
<p>矩形截屏: 用来截取部分屏幕并保存为文件(BMP/JPG/PNG/GIF/TIF) 的函数. 它也能截取透明窗口和鼠标指针. 请参阅<a href="https://www.autohotkey.com/forum/topic18146.html">存档论坛帖子</a>.</p>
<p>颜色放大器/选取器: 放大光标周围的区域, 允许选取单个像素并识别它的颜色. 请参阅<a href="https://www.autohotkey.com/forum/topic18167.html">存档论坛帖子</a>.</p>

<h2 id="Scripts_and_Functions_Forum">Archived Scripts and Functions Forum(旧论坛存档)</h2>
<p>是旧论坛的存档, 包含很多脚本, 但是其中部分脚本可能不能在 AutoHotkey v1.1 中运行.</p>
<p><a href="https://www.autohotkey.com/board/forum/49-">旧论坛存档</a></p>

<!-- following elements are required for translation -->
<p class="hide_code" style="display: none;">隐藏代码</p>
<p class="loading_code" style="display: none;">加载代码...</p>

<script>
if (!isIE8)
  addOnClickEvent();

function addOnClickEvent() {
  var els = document.querySelectorAll('.show_code a');
  var text_show_code = els[0].innerHTML;
  var text_hide_code = document.querySelectorAll('.hide_code')[0].innerHTML;
  var text_loading_code = document.querySelectorAll('.loading_code')[0].innerHTML;
  $.get(els[0].href, function() { // Check whether it is possible to get a file
    for (var i = 0; i < els.length; i++) {
      var el = els[i];
      var text = el.innerHTML;
      el.onclick = function() {
        if (this.innerHTML !== text_hide_code) {
          this.innerHTML = text_hide_code;
          if (!this.nextSibling) {
            pre = document.createElement('pre');
            pre.className = 'NoIndent';
            pre.setAttribute('filename', this.getAttribute('href'));
            pre.innerHTML = text_loading_code;
            this.parentNode.insertBefore(pre, this.nextSibling);
            $.get(this.href, function(data) {
              $(pre).text(data.replace(/\r\n/g, '\n'));
              features.addCodeBoxButtons([pre]);
              features.addSyntaxColors([pre]);
            }, 'text');
          }
          else
            this.nextSibling.style.display = 'block';
        }
        else {
          this.innerHTML = text_show_code;
          this.nextSibling.style.display = 'none';
        }
        return false; // Suppress opening the file in a normal way
      };
    }
  }, 'text');
}
</script>
</body>

</html>